package com.gitee.ywj1352.算法.期中考试;

import java.util.ArrayList;
import java.util.List;

public class 螺旋矩阵 {
    public List<Integer> spiralOrder(int[][] matrix) {
        int l = 0, r = matrix[0].length - 1, t = 0, b = matrix.length - 1;

        List<Integer> res = new ArrayList<Integer>();
        while (l <= r && t <= b) {
            //上
            for (int i = l; i <= r; i++) {
                res.add(matrix[t][i]);
            }
            t++;
            //右
            for (int i = t; i <= b; i++) {
                res.add(matrix[i][r]);
            }
            r--;
            //下
            for (int i = r; i >= l; i--) {
                res.add(matrix[b][i]);
            }
            b--;
            //左
            for (int i = b; i >= t; i--) {
                res.add(matrix[i][l]);
            }
            l++;
        }
        return res;
    }
}
